/**
 * 校验邮箱
 * @param
 * @returns
 */
export function isEmail(emailStr: string) {
  if (!emailStr) {
    return false;
  }
  const reg =
    /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

  return reg.test(emailStr.toLowerCase());
}

/**
 * 校验密码，8-16位至少含有一个大写字母和一个小写字母和 一个数字
 * @param
 * @returns
 */
export function isPassword(passwordStr: string) {
  if (!passwordStr) {
    return false;
  }
  //const reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/;
  const reg = /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{8,16}$/;
  return reg.test(passwordStr);
}
/**
 * wtcard 的密码校验规则，不少于8位就行了
 * @param passwordStr
 * @returns
 */
export function isWTCardPassword(passwordStr: string) {
  if (!passwordStr) {
    return false;
  }
  if (passwordStr.length < 8) {
    return false;
  }
  return true;
}

/**
 * 是否是手机号码
 * @param
 * @returns
 */
export function isPhone(phoneStr: string): boolean {
  if (!phoneStr) {
    return false;
  }
  const reg = /^\d{8,20}$/;

  return reg.test(phoneStr.toLowerCase());
}

/**
 * 校验是手机还是邮箱
 * @param
 * @returns
 */
export function isPhoneAndEmail(str: string): boolean {
  const reg = /^[0-9]*$/;
  return str.length >= 3 && str.length <= 11 && reg.test(str);
}
/**
 * 手机号码和邮箱脱敏
 * @param
 * @returns
 */
export function initName(str?: string): String {
  if (!str) {
    return '';
  }
  // 手机号码：脱敏规则前3后4
  return str.substring(0, 3) + '****' + str.substring(7);
}
